use crate::data::NodeAttr;

// 节点类型
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
pub enum NodeType {
    // 叶子节点 condition
    Leaf(bool),
    // 组合节点 root, condition
    Composite(bool, bool),
}

impl From<NodeType> for NodeAttr<NodeType> {
    fn from(value: NodeType) -> Self {
        NodeAttr::new("节点类型", "节点类型", value)
    }
}

#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
// 节点所属位置
pub enum NodePosition {
    // 当前节点
    Current,
    // 父节点
    Parent,
    // 子节点
    Child,
    // 关联节点
    Relate,
    // 兄弟节点
    Brother,
}

